Lịch sử SMTP

Giao thức trước đó của SMTP trong ArpanetMail Box Protocol (RFC 278) có từ tháng 7 năm 1971 và sau đó là FTP Mail (RFC 458) từ tháng 2 năm 1973. Với sự xuất hiện của Internet từ ARPANET vào khoảng năm 1980, Jon Postel đề nghị tách riêng nó ra khỏi sự phụ thuộc của việc vận chuyển thư điện tử từ dịch vụ FTP (RFC 772) và SMTP được công bố theo RFC 821 vào năm 1982. Vào đầu những năm 1980, nó đã trở thành một bổ sung cho UUCP, được sử dụng chủ yếu cho các máy tính kết nối định kỳ dùng cho việc lưu hành e-mail. SMTP đã trở thành tiêu chuẩn cho các máy tính nối liên tục với mạng.

SMTP là một giao thức dùng nền văn bản (ASCII) và tương đối đơn giản. Trước khi một thông điệp được gửi, người ta có thể định vị một hoặc nhiều địa chỉ nhận thông điệp - những địa chỉ này thường được kiểm tra về sự tồn tại trung thực của chúng). Việc kiểm thử một trình chủ SMTP là một việc tương đối dễ dàng, dùng chương trình ứng dụng "telnet" (xem dưới đây).

SMTP dùng cổng 25 của giao thức TCP. Để xác định trình chủ SMTP của một tên miền nào đấy (domain name), người ta dùng một mẫu tin MX (Mail eXchange - Trao đổi thư) của DNS (Domain Name System - Hệ thống tên miền).

SMTP định nghĩa tất cả những gì đã làm với email. Nó xác định cấu trúc của các địa chỉ, yêu cầu tên miền và bất cứ điều gì liên quan đến email.SMTP cũng xác định các yêu cầu cho Post Office Protocol (POP) và truy cập Internet Message Protocol (IMAP) máy chủ, do đó email được gửi đúng cách.

SMTP bắt đầu được sử dụng rộng rãi vào những năm đầu thập niên kỷ 1980. Tại thời điểm đó, SMTP chỉ là một phần mềm bổ sung của bộ trình ứng dụng đồng giao thức UUCP (Unix to Unix CoPy - Sao chép từ máy Unix sang máy Unix) nhưng tiện lợi hơn trong việc truyền tải thư điện tử giữa các máy vi tính - những máy này thỉnh thoảng mới lại được kết nối với nhau một lần, để truyền thông dữ liệu. Thực ra, SMTP sẽ làm việc tốt hơn nếu các máy gửi và máy nhận được kết nối liên tục.

Trong bài viết về "người gửi viết lại địa chỉ", những tin tức căn bản về kỹ thuật của SMTP trong lịch sử trước đây, và kỹ thuật định tuyến trở về nguồn, trước khi RFC 1123 ra đời (năm 1989, bị thay thế bởi RFC 2821) đã được đề cập đến.

Sendmail là một trong những phần mềm đặc vụ truyền tải thư tín (mail transfer agent) đầu tiên (nếu không phải là cái trước tiên nhất) thực thi giao thức SMTP. Tính đến năm 2001, người ta đã thấy có ít nhất là 50 chương trình ứng dụng thực thi giao thức SMTP, bao gồm cả chương trình client (phần mềm dùng để gửi thông điệp) và chương trình server (phần mềm dùng để nhận thông điệp). Một số trình chủ SMTP nổi tiếng có thể liệt kê bao gồm: exim, Postfix, qmail, và Microsoft Exchange Server.

Do thiết kế của giao thức dùng dạng thức văn bản thường của bộ mã ASCII, khi bản thiết kế được khởi công, chức năng của SMTP giải quyết tập tin có dạng thức nhi phân rất kém. Những tiêu chuẩn như MIME đã được xây dựng để mã hóa những tập tin nhị phân, cho phép chúng được truyền tải dùng giao thức SMTP. Hiện nay, phần lớn các trình chủ SMTP hỗ trở phần mở rộng 8BITMIME của SMTP, cho phép các tập tin ở dạng thức nhị phân được truyền thông qua đường dây, dễ như việc truyền tải văn bản thường vậy.

SMTP là một giao thức "đẩy" thông điệp và không cho phép ai "rút" thông điệp từ máy chủ ở xa, theo yêu cầu của mình, một cách tùy tiện. Để lấy được thông điệp, một trình khách thư điện tử phải dùng POP3 (Post Office Protocol - Giao thức bưu điện tử) hoặc IMAP (Internet Message Access Protocol - Giao thức truy cập thông điệp Internet). Chúng ta còn có thể dùng phần mềm ETRN (Extended Turn) để khởi động một trình chủ SMTP phân phát thông điệp mà nó đang lưu trữ.

Những lập trình viên

Rất nhiều người đã từng sửa đổi hoặc cống hiến vào những phần chủ chốt trong đặc tả của SMTP, trong số đó có: Jon Postel, Eric Allman, Dave Crocker, Ned Freed, Randall Gellens, John Klensin, và Keith Moore.